Method and apparatus for storing increment values without using an increment counter

ABSTRACT

Electronic systems, such as printing systems, often use components that have integral memory. The integral memory can be used to store information about the component. In some printing systems this memory includes a portion that stores a value indicative of an amount of a consumable that has been used. Some printing systems do this by using a counter to count the amount of the consumable used and then sending a count command to the memory. The increment count command is processed to increment the value stored within the memory. Disclosed is a method and system for allowing the memory to be updated by a count command without having to increment the value stored. This method allows print cartridges to be used in printing systems that utilize counters without having to increment the counter each time an increment command is received.

BACKGROUND

Many electronic devices have components that include an integratedmemory. Often, the manufacturer of these devices wants to monitor usageto determine a remaining life of the device. One example of thesedevices is a printer having a memory on a printing cartridge.

Many printers, such as inkjet printers or electrostatic printers, printan image on a recording medium by dispensing a printing medium onto therecording medium. Ink jet printers operate by ejecting ink drops from aprinthead onto the recording medium. The printhead may contain one ormore supplies of ink or be connected to separate ink cartridges thatsupply ink. Color images are formed by ejecting color inks onto therecording medium from two or more printheads. One printhead is used toeject black ink and a second printhead is used to eject color ink.Alternatively, each color ink may be ejected by single printhead.Electrostatic or laser printers form an image on a recording medium bytransferring toner particles onto the medium. Typically, a recordingdrum is charged and a latent image is formed on the drum by a laser. Thelatent image is developed on the drum by developer or toner particlesand this image is transferred directly or indirectly onto a recordingmedium. In color printers multiple cartridges are provided to transfercolor images.

One method of monitoring usage of a printing cartridge is to count theamount of printing that is performed. For example, in an inkjet printer,a counter may count the number of ink drops ejected from each printhead.In an electrostatic printer a counter may count the number of lines orpages printed by each cartridge. Each of the numbers counted is thenprocessed as a count signal and the printer sends each of the countsignals to the appropriate cartridge or printhead. The cartridge orprinthead contains an integral memory that stores a value indicative theamount of printing agent used. When the cartridge or printhead receivesthe count signal the count signal is processed to increment the memoryby the value indicated by the count signal. Implementation of thismethod allows for each cartridge or printhead to be updated with anamount of consumable material used.

When it is desired to determine an amount of consumable remaining ineach cartridge or printhead, the printer or a host in communication withthe printer sends a read signal to appropriate memory. This signal isprocessed and the value stored in the memory is read. This value canthen be compared with a value indicative of a total amount of consumablethat each cartridge or printhead is preloaded with. When the read valueapproaches the total value then a low toner or low ink condition isdetected. This detection can result in a warning being provided to theuser or in disabling the low cartridge.

An example of an image recording device using this method is describedin U.S. Pat. No. 7,844,786. In this device, command protocols aresupported in order to have one or more counters incremented. Anincrement counter command protocol permits the memory modules to receivean increment counter command. With an increment counter command, eachmemory module may include a counter that maintains its own count, whichis increased by a specified value upon receipt of the increment countercommand. The increment counter command may be utilized with a pluralityof counters with different counts—for example global page counts, colorpage counts, letter-sized page counts, legal-sized paged counts,transparency page counts, etc. Thus, the global page count the colorpage count, the letter-sized page counts, and the transparency pagecounts in one or more memory modules may be incremented at the sametime, which makes it unnecessary for the processing device to know ofthe present values of each of those counts that are being updated.Instead, each memory module is responsible for maintaining its owncounts and updating the counts upon receipt of the increment countercommand protocol.

The increment counter protocol includes a set of bits allocated for theincrement counter command, the memory module address, the value thateach counter will increment by, the length of the list of counters, andthe address of each counter to increment within the memory module.According to one illustrative example, the increment counter command maybe eight bits, the memory module address may be sixteen bits, the valuethat each counter will increment by may be eight bits, the length of thelist of counters may be eight bits, and the address of each counter maybe sixteen bits. Each memory module that is addressed will pull thesignal on the status channel to a low voltage to signify that it is busywhile it updates one or more counters by the value specified. The memorymodule will release the signal on the status channel to a high voltageto signify that it is ready after each addressed counter has beenupdated.

A problem with the method of updating consumable use described above isthat memory locations on the individual cartridges is frequentlyrewritten. This frequent rewriting can result in slowing down aprocessing device located on the cartridge or used by the cartridge.Also, frequent rewriting of the memory may result in the memory failingor prematurely shorten the life of the memory. Therefore, this methodmay result in slowing the print speed of the printer or in shorteningthe useable lifetime of the memory and the cartridge that memory isloaded on.

SUMMARY

The present method and system allows a device having a memory to operatein a system that uses an increment to counter to operate withoutincrementing a memory in response to increment commands. This method andsystem overcomes the problems associated with frequently updating thevalue stored in a memory.

The method includes receiving, at one or more memory modules, a commandsignal transmitted from a processing device. Each memory device isprovided with a location for storing a value indicative of the totalamount of the consumable used. Each memory device also has multiplestorage locations that can store a value therein. The command signalincludes an increment counter command for instructing a memory module toincrement a counter by a specific amount. When an increment countcommand signal is received, it is determined if each of the storagelocations is storing a value. If at least one storage location is empty(i.e. not storing a value) then a value indicative of the count amountis stored in that location. If all of the storage locations are full(i.e. storing a value) then the values currently stored in each memorylocation are summed to create a total value. The total value is added tothe value indicative of a total amount of consumable used and the valuein each memory location is emptied (i.e. reset to no value). Then one ofthe memory locations is updated to store the value indicated by theincrement counter command.

By implementing this method, a total value of the consumable used can bestored in a location. When it is desired to determine an amount ofconsumable remaining in the cartridge, the host sends a read signal tothe respective cartridge. This is signal is processed by and the valueindicative of a total amount of consumable used is received by the host.The host compares this value to a predetermined value for the cartridge.When the two values are close the host can indicate to a user thatcartridge is low on toner or ink. Alternatively, if the values are closeor the same, the host may prevent the printer from using the cartridge.

In an alternative embodiment, the predetermined value is stored on thecartridge and the comparison is performed at the cartridge. In thisscenario the comparison value is received by the host and used todetermine if the cartridge is low on ink or toner.

In another embodiment, the “cartridge” is not a print cartridge butanother element in the device that has a finite amount use. For example,printers use rollers to feed a recording medium through the print zone.The rollers may work by using friction to force the recording mediumthrough the printer. The surface of the rollers is often a material likeplastic or rubber that wears out through the life of the printer.

These and other features and objects of the invention will be more fullyunderstood from the following detailed description of the embodiments,which should be read in light of the accompanying drawings.

In this regard, before explaining at least one embodiment of theinvention in detail, it is to be understood that the invention is notlimited in its application to the details of construction and to thearrangements of the components set forth in the description orillustrated in the drawings. The invention is capable of otherembodiments and of being practiced and carried out in various ways.Also, it is to be understood that the phraseology and terminologyemployed herein, as well as the abstract, are for the purpose ofdescription and should not be regarded as limiting.

As such, those skilled in the art will appreciate that the conceptionupon which this disclosure is based may readily be used as a basis fordesigning other structures, methods, and systems for carrying out theseveral purposes of the present invention. It is important, therefore,that the claims be regarded as including such equivalent constructionsinsofar as they do not depart from the spirit and scope of the presentinvention.

BRIEF DESCRIPTION OF THE DRAWINGS

The accompanying drawings, which are incorporated in and form a part ofthe specification, illustrate embodiments of the present invention and,together with the description, serve to explain the principles of theinvention;

FIG. 1 illustrates a process for storing an increment command value in amemory module.

FIG. 2 illustrates an embodiment for processing a read command for theincrement counter.

FIG. 3 illustrates an alternative embodiment for processing a readcommand for the increment counter.

FIG. 4 illustrates another alternative embodiment for processing a readcommand for the increment counter.

DETAILED DESCRIPTION OF THE DRAWINGS

In imaging and printing devices, page counts recorded by non-volatilememory modules (“memory modules”) may be incremented as pages areprinted. Page counts may include the total number of pages printed by aprinter and the total number of pages printed for each of a number ofprint categories. Recording the number of pages for individual printcategories permits the recording of page counts for specific types ofprinting tasks, such as the total number of color pages, monochromepages, letter size pages, legal size pages, transparencies, etc., thatmay be printed. In addition to recording page counts, non-volatilememory modules may be packaged with reservoirs such as ink or tonercartridges, and the memory modules may contain one or more fields forrecording the depletion of the reservoirs. It will be appreciated by oneof ordinary skill in the art that imaging and printing devices maycontain non-volatile memory modules that have one or more counts,resource bit fields, or a combination thereof.

Increment counters may be used in electronic devices that need to trackan amount of use or lifecycle of a replaceable element. Also, thecounter may be used to track other consumables in a printer, facsimilemachine, photocopier, ar all-in-machine. For example, the memory elementmay be located on a sheet feeding device and the number of sheets fedfrom the sheet feeding device may be calculated to determine theremaining life of the sheet feeding mechanism.

For example, each counter may be stored in 12 byte areas. When anincrement counter command is received, the counter in the memory moduleis incremented by the amount specified by the increment counter command.A success response is sent to the processor upon completion of theincrement. When the processor sends a read command to the memory module,the correct stored amount is sent to the processor.

In the current invention, the increment counter command does not causethe memory module to increment the stored value. The counters are stillstored in 12 contiguous bytes of the memory module. In three bytes ofthe memory module a base counter value stored. The other nine bytes areused as an increment counter storage area consisting of three areas ofthree contiguous bytes in each area. Each of the three storage areas isinitialized to contain a logic value “0”. The three areas are used tostore the last three increment values for the counter command sent bythe printer.

FIG. 1 illustrates the storage of an increment counter command value ina memory module. In operation, the memory module receives an incrementcounter command from a processer 100. The increment counter storage areais checked to see if there is an empty three byte location within theincrement counter storage area 110. If there is an empty location thevalue indicated by the increment counter command is stored in the emptyarea 120. Then a success response is sent to the processor.

If there are not any empty three byte locations within the incrementcounter storage area a location must be emptied to store the valueindicated by the increment counter command. This is done by adding allof the values currently stored in increment counter storage area to thecurrent counter base value 130. This new value is the cumulative valuefor the increment counter and is stored in the base location ofincrement counter storage area 130. Next, the individual three byteareas of the increment counter storage area are set to a logic state “0”140. This provides three empty locations in the increment counterstorage area. The value indicated by the increment counter command isstored one of the empty three byte locations 150. Then a successresponse is sent to the processor 160.

Next, the process for reading for the increment count value will bedescribed. FIG. 2 illustrates one embodiment for processing a readcommand for the increment counter value. A read command is received fromthe processor 200. The memory module is checked to obtain the valuestored in the base location 210. This value is used as the incrementcounter value and is sent to the processor as the increment countervalue 220. An advantage of this embodiment is that the read command isprocessed quickly.

FIG. 3 illustrates an alternative embodiment for processing a readcommand for the increment counter value. In this embodiment, a readcommand is received 300. The storage areas are checked to see if all ofthe storage areas are empty 310. If all of the storage areas are empty,the base value stored is sent as increment counter command value 320. Ifone or more of the storage areas contains a value, the values are addedto the base value to calculate a read value 330. The read value isstored in a temporary storage area that is separate from the base valuestorage area 340. The read value is sent to the processor as theincrement counter value 350. The read value is erased from the temporarystorage area. The temporary storage of the value may be provided in anarea of the storage device or in any other memory means such as a RAM.An advantage of this embodiment is that this allows for an accuratevalue to be given in response to a read command without requiring thebase value to be changed in response to a read command.

FIG. 4 illustrates another alternative embodiment for processing a readcommand for the increment counter value. In this embodiment, a readcommand is received 400. The storage areas are checked to see if all ofthe storage areas are empty 410. If all of the storage areas are empty,the base value stored is sent as increment counter value 440. If one ormore of the storage areas contains a value, the values are added to thebase value to calculate an increment counter value 420. The storageareas are all set to logic “0” and the increment counter value is addedto the base value and is stored as the new base value 430. The basevalue stored is sent to the processor as the increment counter value440.

The many features and advantages of the invention are apparent from thedetailed specification. Thus, the appended claims are intended to coverall such features and advantages of the invention which fall within thetrue spirits and scope of the invention. Further, since numerousmodifications and variations will readily occur to those skilled in theart, it is not desired to limit the invention to the exact constructionand operation illustrated and described. Accordingly, all appropriatemodifications and equivalents may be included within the scope of theinvention.

Although this invention has been illustrated by reference to specificembodiments, it will be apparent to those skilled in the art thatvarious changes and modifications may be made which clearly fall withinthe scope of the invention. The invention is intended to be protectedbroadly within the spirit and scope of the appended claims.

What is claimed is:
 1. A method for storing increment values withoutusing an increment counter comprising: receiving, at one or more memorymodules, a command signal transmitted from a processing device, whereinthe command signal includes an increment counter command for instructinga memory module to increment a counter by a specific amount; andprocessing the command at the one or more memory devices by; providingmultiple storage locations; determining if each of the multiple storagelocations contains a stored value; storing in one of the storagelocations a value indicative of the specific amount when at least one ofthe multiple locations does not contain a stored value therein;determining that each of the multiple storage locations contains astored value; summing each of the stored values to determine a totalstored value; updating a total amount by the total stored value;emptying each of the storage locations so that each storage locationdoes not contain a stored value; and storing in one of the storagelocations a value indicative of the specific amount.
 2. The method ofclaim 1 wherein there are four or more storage locations.
 3. The methodof 1 wherein the increment counter command is indicative of an amount ofa consumable used by a printing device.
 4. The method of claim 3,wherein the multiple storage locations are provided on a printcartridge.
 5. The method of claim 1 further comprising: receiving a readcommand signal at the one more memory modules; and outputting anincrement value.
 6. A method of storing an amount of a consumable usedin an imaging device comprising: receiving, at one or more memorymodules, a command signal transmitted from a processing device, whereinthe command signal includes an increment counter command for instructinga memory module to increment a counter by a specific amount; andprocessing the command at the one or more memory devices by; providingmultiple storage locations; determining if each of the multiple storagelocations contains a stored value; storing in one of the storagelocations a value indicative of the specific amount when at least one ofthe multiple locations does not contain a stored value therein;determining that each of the multiple storage locations contains astored value; summing each of the stored values to determine a totalstored value; updating a total amount by the total stored value;emptying each of the storage locations so that each storage locationdoes not contain a stored value; and storing in one of the storagelocations a value indicative of the specific amount.
 7. The method ofclaim 6 wherein there are four or more storage locations.
 8. The methodof 6 wherein the increment counter command is indicative of an amount ofa consumable used by the imaging device.
 9. The method of claim 6wherein the multiple storage locations are located on a print cartridgeor printhead.
 10. The method of claim 6 further comprising: receiving aread command signal at the one more memory modules; and outputting anincrement value.
 11. A printing system comprising: at least one printcartridge having an integral memory, wherein the integral memoryincludes multiple storage locations; a communication path for providingcommand signals to the at least one print cartridge; a counter forcounting an amount of a consumable used by the at least on printcartridge, wherein a host device transmits command signals to the atleast one print cartridge, the command signals includes an incrementcounter command for instructing the integral memory to increment acounter by a specific amount, wherein the increment counter command isprocessed by checking to see if each of the multiple storage locationscontains a stored value and storing in one of the storage locations avalue indicative of the specific amount when at least one of themultiple locations does not contain a stored value therein, wherein wheneach of the multiple storage locations has a stored value therein theincrement counter command is processed by: summing each of the storedvalues to determine a total stored value updating a total amount by thetotal stored value; emptying each of the storage locations so that eachstorage location does not contain a stored value; and storing in one ofthe storage locations a value indicative of the specific amount.
 12. Theprinting system of claim 11 wherein when the host device transmits acommand signal to the at least print cartridge requesting an amount ofconsumable used, the value indicative of the specific amount is read.13. The printing system of claim 11 wherein there are four or morestorage locations in the at least one integral memory.
 14. The printingsystem of claim 11 wherein the printing system is a color printingsystem and there are two or more print cartridges.
 15. The printingsystem of claim 14, wherein for each print cartridge the printing systemthe counter counts an amount of consumable used and each print cartridgereceives an increment counter command indicative of the amount ofconsumable used.
 16. The printing system of claim 11 wherein theprinting system is an inkjet printing system and the increment countercommand is indicative of an amount of ink used.
 17. The printing systemof claim 11 wherein the printing system is an electrostatic printer andthe increment counter command is indicative of an amount of toner used.18. The printing system of claim 11 wherein the host device is locatedwithin the printing system.
 19. The printing system of claim 11 whereinthe host device is a computer in communication with the printing system.